import 'package:flutter/material.dart';
import 'package:flutter_09_game/base/widget/base_list_get_builder.dart';
import 'package:flutter_09_game/base/widget/base_list_more_get_builder.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
// import 'package:shimmer/shimmer.dart';
import '../../config/app_color.dart';
import 'widgets/home_top_bar.dart';
import 'widgets/home_prize_pool.dart';

import 'widgets/home_banner.dart';
import 'widgets/home_game_tabs.dart';
import 'widgets/home_game_grid.dart';
import 'home_logic.dart';

class HomePage extends StatelessWidget {
  HomePage({super.key});

  final HomeLogic logic = Get.put(HomeLogic());

  @override
  Widget build(BuildContext context) {
    return BaseListMoreGetBuilder<HomeLogic>(
      bodyTopViewBuilder: (_) {
        return HomeTopBar(
          logic: logic,
        );
      },
      builder: (_) {
        // return Obx(() {
          // 显示骨架图
          // if (logic.isShowingSkeleton.value) {
          //   return _buildSkeletonLoader();
          // }

          // 显示真实内容
          return SingleChildScrollView(
            padding: EdgeInsets.only(bottom: 16.w),
            child: Column(
              children: [
                // 奖池信息区域
                HomePrizePool(
                  logic: logic,
                ),

                // 16.verticalSpaceFromWidth,

                // 功能按钮区域
                // const HomeFunctionButtons(),

                // Banner区域
                Obx(() => logic.bannerList.isNotEmpty
                    ? HomeBanner(
                        banners: logic.bannerList,
                        onBannerTap: logic.handleBannerTap,
                        logic: logic,
                      ).marginOnly(top: 24.w)
                    : const SizedBox.shrink()),

                24.verticalSpaceFromWidth,

                // 游戏分类切换按钮
                HomeGameTabs(
                  logic: logic,
                ),

                20.verticalSpaceFromWidth,

                // 游戏列表Grid
                HomeGameGrid(
                  logic: logic,
                ),
                // 20.verticalSpaceFromWidth,
              ],
            ),
          );
        // });
      },
    );
    // return Scaffold(
    //   backgroundColor: AppColor.homeBackground,
    //   body: Column(
    //     children: [
    //       // 状态栏安全区域
    //       SafeArea(
    //         bottom: false,
    //         child: Container(
    //           color: AppColor.homeBackground,
    //           child: const HomeTopBar(),
    //         ),
    //       ),
    //
    //       // 主要内容区域
    //       Expanded(
    //         child: Column(
    //           children: [
    //             // 奖池信息区域
    //             const HomePrizePool(),
    //
    //             24.verticalSpaceFromWidth,
    //
    //             // 功能按钮区域
    //             const HomeFunctionButtons(),
    //             // Banner区域
    //             Obx(() => logic.bannerList.isNotEmpty
    //                 ? HomeBanner(
    //                     banners: logic.bannerList,
    //                     onBannerTap: logic.handleBannerTap,
    //                   )
    //                 : const SizedBox.shrink()),
    //
    //             24.verticalSpaceFromWidth,
    //
    //             // 游戏分类切换按钮
    //             const HomeGameTabs(),
    //
    //
    //             16.verticalSpaceFromWidth,
    //
    //             // 游戏列表Grid
    //             const HomeGameGrid(),
    //
    //             24.verticalSpaceFromWidth,
    //             // 底部留白
    //             const Spacer(),
    //           ],
    //         ),
    //       ),
    //     ],
    //   ),
    // );
  }

  // 构建骨架图
  // Widget _buildSkeletonLoader() {
  //   return Shimmer.fromColors(
  //     baseColor: const Color(0xFFE0E0E0),
  //     highlightColor: const Color(0xFFF5F5F5),
  //     period: const Duration(milliseconds: 1500),
  //     child: SingleChildScrollView(
  //       padding: EdgeInsets.symmetric(horizontal: 16.w),
  //       child: Column(
  //         children: [
  //           24.verticalSpaceFromWidth,
  //
  //           // 顶部奖池区域占位
  //           Container(
  //             width: double.infinity,
  //             height: 150.w,
  //             decoration: BoxDecoration(
  //               color: Colors.white,
  //               borderRadius: BorderRadius.circular(12.w),
  //             ),
  //           ),
  //
  //           24.verticalSpaceFromWidth,
  //
  //           // Banner区域占位
  //           Container(
  //             width: double.infinity,
  //             height: 120.w,
  //             decoration: BoxDecoration(
  //               color: Colors.white,
  //               borderRadius: BorderRadius.circular(12.w),
  //             ),
  //           ),
  //
  //           24.verticalSpaceFromWidth,
  //
  //           // 标签栏占位
  //           Row(
  //             children: List.generate(4, (index) {
  //               return Expanded(
  //                 child: Container(
  //                   height: 40.w,
  //                   margin: EdgeInsets.symmetric(horizontal: 4.w),
  //                   decoration: BoxDecoration(
  //                     color: Colors.white,
  //                     borderRadius: BorderRadius.circular(20.w),
  //                   ),
  //                 ),
  //               );
  //             }),
  //           ),
  //
  //           20.verticalSpaceFromWidth,
  //
  //           // 游戏卡片网格占位
  //           GridView.builder(
  //             shrinkWrap: true,
  //             physics: const NeverScrollableScrollPhysics(),
  //             gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
  //               crossAxisCount: 3,
  //               mainAxisSpacing: 12.w,
  //               crossAxisSpacing: 12.w,
  //               childAspectRatio: 1.0,
  //             ),
  //             itemCount: 6,
  //             itemBuilder: (context, index) {
  //               return Container(
  //                 decoration: BoxDecoration(
  //                   color: Colors.white,
  //                   borderRadius: BorderRadius.circular(8.w),
  //                 ),
  //               );
  //             },
  //           ),
  //
  //           20.verticalSpaceFromWidth,
  //         ],
  //       ),
  //     ),
  //   );
  // }
}
